package com.rp.control.operation.data.local;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;

import com.rp.control.operation.Operacao;
import com.rp.dao.local.ConfiguracaoLDAO;
import com.rp.dao.local.EstabelecimentoLDAO;
import com.rp.dao.local.ProdutoEstabelecimentoLDAO;
import com.rp.dao.local.ProdutoLDAO;

public class VerificarBase extends Operacao {
    public static final String DB_NAME = "DB_RP";

    public static final int CURRENT_VERSION = 1;
    private Context context;

    public VerificarBase(Context context) {
	this.context = context;
    }

    @Override
    public void execute() throws Throwable {
	SQLiteDatabase BancoDados = null;
	try {
	    BancoDados = context.openOrCreateDatabase(DB_NAME,
		    Context.MODE_WORLD_READABLE, null);
	    if (BancoDados.needUpgrade(CURRENT_VERSION)) {
		ConfiguracaoLDAO cDao = new ConfiguracaoLDAO(context);
		EstabelecimentoLDAO eDao = new EstabelecimentoLDAO(context);
		ProdutoLDAO prodDao = new ProdutoLDAO(context);
		ProdutoEstabelecimentoLDAO pe = new ProdutoEstabelecimentoLDAO(
			context);
		cDao.criarTabela1();
		eDao.criarTabela1();
		prodDao.criarTabela1();
		pe.criarTabela1();
	    }
	} finally {
	    if (BancoDados != null) {
		BancoDados.close();
	    }
	}
    }
}
